package com.kaifamiao.interfaces;

public class TestFlyable {
    public static void main(String[] args) {
        // 声明一个Flyable类型的引用变量
        Flyable f = null;

        // 接口类型的引用变量指向其实现类类型的对象(实例)
        // 在堆区中创建Plane实例并将该实例(对象)首地址赋值给等号前的变量
        f = new Plane();
        // 调用 f 所指向实例(对象)的 fly 方法
        f.fly();

        // 接口类型的引用变量指向其实现类类型的对象(实例)
        // 在堆区中创建Eagle实例并将该实例(对象)首地址赋值给等号前的变量
        f = new Eagle();
        // 调用 f 所指向实例(对象)的 fly 方法
        f.fly();
    }
}
